﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace VS2022Offline
{
    public class VS2022
    {
        public class DicNode
        {
            private string parentname;
            private string name;
            private string text;
            private string tooltip;
            private bool ischecked;

            public string Parentname
            {
                get => this.parentname;
                set => this.parentname = value;
            }

            public string Name
            {
                get => this.name;
                set => this.name = value;
            }

            public string Text
            {
                get => this.text;
                set => this.text = value;
            }

            public string Tooltip
            {
                get => this.tooltip;
                set => this.tooltip = value;
            }

            public bool Ischecked
            {
                get => this.ischecked;
                set => this.ischecked = value;
            }
        }
        public static List<DicNode> workloadList = new List<DicNode>()
    {
      new DicNode()
      {
        Name = "CoreEditor",
        Text = "Visual Studio 核心编辑器",
        Tooltip = "Visual Studio 核心 shell 体验，包括语法感知代码编辑、源代码管理和工作项管理。",
        Ischecked = true
      },
      new DicNode()
      {
        Name = "Azure",
        Text = "Azure 开发",
        Tooltip = "用于开发云应用、创建资源以及生成包括 Docker 支持的容器的 Azure SDK、工具和项目。"
      },
      new DicNode()
      {
        Name = "Data",
        Text = "数据存储和处理",
        Tooltip = "使用 SQL Server、Azure Data Lake 或 Hadoop 连接、开发和测试数据解决方案。"
      },
      new DicNode()
      {
        Name = "DataScience",
        Text = "数据科学和分析应用程序",
        Tooltip = "用于创建数据科学应用程序的语言和工具（包括 Python、R 和 F#）。"
      },
      new DicNode()
      {
        Name = "ManagedDesktop",
        Text = ".NET 桌面开发",
        Tooltip = "使用 C#、Visual Basic 和 F# 生成 WPF、Windows 窗体和控制台应用程序。"
      },
      new DicNode()
      {
        Name = "ManagedGame",
        Text = "使用 Unity 的游戏开发",
        Tooltip = "使用 Unity（功能强大的跨平台开发环境）创建 2D 和 3D 游戏。"
      },
      new DicNode()
      {
        Name = "NativeCrossPlat",
        Text = "使用 C++ 的 Linux 开发",
        Tooltip = "创建和调试在 Linux 环境中运行的应用程序。"
      },
      new DicNode()
      {
        Name = "NativeDesktop",
        Text = "使用 C++ 的桌面开发",
        Tooltip = "使用 Microsoft C++ 工具集、ATL 或 MFC 生成 Windows 桌面应用程序。"
      },
      new DicNode()
      {
        Name = "NativeGame",
        Text = "使用 C++ 的游戏开发",
        Tooltip = "以 DirectX、Unreal 或 Cocos2d 为后盾，利用 C++ 的强大功能生成专业游戏。"
      },
      new DicNode()
      {
        Name = "NativeMobile",
        Text = "使用 C++ 的移动开发",
        Tooltip = "使用 C++ 生成适用于 iOS、Android 或 Windows 的跨平台应用程序。"
      },
      new DicNode()
      {
        Name = "NetCoreTools",
        Text = ".NET Core 跨平台开发",
        Tooltip = "使用 .NET Core、ASP.NET Core、HTML/JavaScript 和包括 Docker 支持的容器生成跨平台应用程序。"
      },
      new DicNode()
      {
        Name = "NetCrossPlat",
        Text = "使用 .NET 的移动开发",
        Tooltip = "使用 Xmarin 生成适用于 iOS、Android 或 Windows 的跨平台应用程序。"
      },
      new DicNode()
      {
        Name = "NetWeb",
        Text = "ASP.NET 和 Web 开发",
        Tooltip = "使用 ASP.NET、ASP.NET Core、HTML/JavaScript 和包括 Docker 支持的容器生成 Web 应用程序。"
      },
      new DicNode()
      {
        Name = "Node",
        Text = "Node.js 开发",
        Tooltip = "使用 Node.js（事件驱动的异步 JavaScript 运行时）生成可扩展的网络应用程序。"
      },
      new DicNode()
      {
        Name = "Office",
        Text = "Office/SharePoint 开发",
        Tooltip = "使用 C#、VB 和 JavaScript 创建 Office 和 SharePoint 外接程序、SharePoint 解决方案和 VSTO 外接程序。"
      },
      new DicNode()
      {
        Name = "Python",
        Text = "Python 开发",
        Tooltip = "适用于 Python 的编辑、调试、交互式开发和源代码管理。"
      },
      new DicNode()
      {
        Name = "Universal",
        Text = "通用 Windows 平台开发",
        Tooltip = "使用 C#、VB 和 JavaScript 或 C++（可选）创建适用于通用 Windows 平台的应用程序。"
      },
      new DicNode()
      {
        Name = "VisualStudioExtension",
        Text = "Visual Studio 扩展开发",
        Tooltip = "创建适用于 Visual Studio 的加载项和扩展，包括新命令、代码分析器和工具窗口。"
      },
      new DicNode()
      {
        Name = "WebCrossPlat",
        Text = "使用 JavaScript 的移动开发",
        Tooltip = "使用用于 Apache Cordova 的工具生成 Android、iOS 和 UWP 应用。"
      },
      new DicNode()
      {
        Name = "Others",
        Text = "独立组件",
        Tooltip = "这些组件不随附于任何工作负载，但可选择作为单个组件。"
      }
    };
        public static List<DicNode> componentList = new List<DicNode>()
    {
      new DicNode()
      {
        Parentname = "Others",
        Name = "Component.Android.Emulator",
        Text = "适用于 Android 的 Visual Studio 仿真程序"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Component.Android.NDK.R11C",
        Text = "Android NDK (R11C)"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Component.Android.NDK.R11C_3264",
        Text = "Android NDK (R11C)（32 位）"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Component.Android.SDK23",
        Text = "Android SDK 安装程序（API 级别 23）（全局安装）"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Component.Android.SDK25",
        Text = "Android SDK 安装程序（API 级别 25）"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Component.GitHub.VisualStudio",
        Text = "适用于 Visual Studio 的 GitHub 扩展"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Component.Google.Android.Emulator.API23.V2",
        Text = "Google Android Emulator（API 级别 23）（全局安装）"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Component.Google.Android.Emulator.API25",
        Text = "Google Android Emulator（API 级别 25）"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.Component.Blend.SDK.WPF",
        Text = "用于 .NET 的 Blend for Visual Studio SDK "
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.Component.HelpViewer",
        Text = "帮助查看器"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.LinqToSql",
        Text = "LINQ to SQL 工具"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.Phone.Emulator Windows",
        Text = "10 移动版仿真程序（周年纪念版）"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.Phone.Emulator.15063",
        Text = "Windows 10 Mobile 仿真器（创意者更新）"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.Runtime.Node.x86.6.4.0",
        Text = "基于 Node.js v6.4.0 (x86) 的组件运行时"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.Runtime.Node.x86.7.4.0",
        Text = "基于 Node.js v7.4.0 (x86) 的组件运行时"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.TestTools.CodedUITest",
        Text = "编码的 UI 测试"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.TestTools.FeedbackClient",
        Text = "Microsoft Feedback Client"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.TestTools.MicrosoftTestManager Microsoft",
        Text = "测试管理器"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.TypeScript.2.0",
        Text = "TypeScript 2.0 SDK"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.TypeScript.2.1",
        Text = "TypeScript 2.1 SDK"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.TypeScript.2.2",
        Text = "TypeScript 2.2 SDK"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.TypeScript.2.5",
        Text = "TypeScript 2.5 SDK"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.TypeScript.2.6",
        Text = "TypeScript 2.6 SDK"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.TypeScript.2.7",
        Text = "TypeScript 2.7 SDK"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.UWP.VC.ARM64",
        Text = "适用于 ARM64 的 C++ 通用 Windows 平台工具"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.ATL.ARM.Spectre",
        Text = "带有 Spectre 缓解措施的 Visual C++ ATL for ARM"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre",
        Text = "带有 Spectre 缓解措施的 Visual C++ ATL for ARM64"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.ATL.Spectre",
        Text = "带有 Spectre 缓解措施的 Visual C++ ATL (x86/x64)"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre",
        Text = "带有 Spectre 缓解措施的 Visual C++ MFC for x86/x64"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.ClangC2",
        Text = "Clang/C2（实验）"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.MFC.ARM",
        Text = "Visual C++ MFC for ARM"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.MFC.ARM.Spectre",
        Text = "带有 Spectre 缓解措施的 Visual C++ MFC for ARM"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.MFC.ARM64",
        Text = "Visual C++ MFC for ARM64"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre",
        Text = "带有 Spectre 缓解措施的针对 ARM64 的 Visual C++ MFC 支持"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.Runtimes.ARM.Spectre",
        Text = "面向 Spectre 的 VC++ 2022 版本 15.7 v14.14 库 (ARM)"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre",
        Text = "面向 Spectre 的 VC++ 2022 版本 15.7 v14.14 库 (ARM64)"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre",
        Text = "面向 Spectre 的 VC++ 2022 版本 15.7 v14.14 库 (x86 和 x64)"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.Tools.14.11",
        Text = "VC++ 2022 版本 15.4 v14.11 工具集"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.Tools.14.12",
        Text = "VC++ 2022 版本 15.5 v14.12 工具集"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.Tools.14.13",
        Text = "VC++ 2022 版本 15.6 v14.13 工具集"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.VC.Tools.ARM64",
        Text = "用于 ARM64 的 Visual C++ 编译器和库"
      },
      new DicNode()
      {
        Parentname = "Others",
        Name = "Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop.arm",
        Text = "适用于桌面 C++ [ARM 和 ARM64] 的 Windows 10 SDK"
      }
    };
    }
}
